Debugging is known. Debugging is a methodical process of finding and reducing the number of defects (sometimes referred to as “bugs” or errors) in a computer program. Debugging includes numerous aspects, such as: (i) interactive debugging; (ii) control flow; (iii) integration testing; (iv) log files; (v) monitoring (application, system); (vi) memory dumps; (vii) profiling; (viii) Statistical Process Control; and (ix) design strategies to improve detection of bugs.
A debugging technique called “throwing an exception” is known. “Throwing an exception” refers to intentional creation of a new “exception” to notify a computer program that a potential error occurred in some piece of software (sometimes referred to herein as the “debug-target software”) that is, or recently was, being executed. The phrase to “catch an exception” refers to methods of dealing with a potential error which allow the debug-target software to continue running.
Logging and tracing are known debugging techniques. Tracing is a use of logging to record information about execution of debug-target software for debugging and/or diagnostic purposes.